/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package SYSGEST.br.Produto;

import SYSGEST.br.fornecedor.Fornecedor;
import java.io.Serializable;
import java.util.Date;
import java.util.Objects;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author Mesopotanea
 */
@Entity
@Table(name = "Produtos")
public class Produtos {

    @Id
    @GeneratedValue
    private int codigo;

    private String produto;

    private String tipoUnd;

    private String grupo;

    private String marca;

    @Temporal(javax.persistence.TemporalType.DATE)
    private Date vencimento;

    private String lote;

    private int qtdEstoqueatual;

    private String estMinimo;

    private String codBarras;

    private String vCusto;

    private String movel;

    private String prateleira;

    /**
     * @return the codigo
     */
    public int getCodigo() {
        return codigo;
    }

    /**
     * @param codigo the codigo to set
     */
    public void setCodigo(int codigo) {
        this.codigo = codigo;
    }

    /**
     * @return the produto
     */
    public String getProduto() {
        return produto;
    }

    /**
     * @param produto the produto to set
     */
    public void setProduto(String produto) {
        this.produto = produto;
    }

    /**
     * @return the tipoUnd
     */
    public String getTipoUnd() {
        return tipoUnd;
    }

    /**
     * @param tipoUnd the tipoUnd to set
     */
    public void setTipoUnd(String tipoUnd) {
        this.tipoUnd = tipoUnd;
    }

    /**
     * @return the grupo
     */
    public String getGrupo() {
        return grupo;
    }

    /**
     * @param grupo the grupo to set
     */
    public void setGrupo(String grupo) {
        this.grupo = grupo;
    }

    /**
     * @return the marca
     */
    public String getMarca() {
        return marca;
    }

    /**
     * @param marca the marca to set
     */
    public void setMarca(String marca) {
        this.marca = marca;
    }

    /**
     * @return the vencimento
     */
    public Date getVencimento() {
        return vencimento;
    }

    /**
     * @param vencimento the vencimento to set
     */
    public void setVencimento(Date vencimento) {
        this.vencimento = vencimento;
    }

    /**
     * @return the lote
     */
    public String getLote() {
        return lote;
    }

    /**
     * @param lote the lote to set
     */
    public void setLote(String lote) {
        this.lote = lote;
    }

    /**
     * @return the qtd
     */
    public int getqtdEstoqueatual() {
        return qtdEstoqueatual;
    }

    /**
     * @param qtd the qtd to set
     */
    public void setqtdEstoqueatual(int qtdEstoqueatual) {
        this.qtdEstoqueatual = qtdEstoqueatual;
    }

    /**
     * @return the estMinimo
     */
    public String getEstMinimo() {
        return estMinimo;
    }

    /**
     * @param estMinimo the estMinimo to set
     */
    public void setEstMinimo(String estMinimo) {
        this.estMinimo = estMinimo;
    }

    /**
     * @return the codBarras
     */
    public String getCodBarras() {
        return codBarras;
    }

    /**
     * @param codBarras the codBarras to set
     */
    public void setCodBarras(String codBarras) {
        this.codBarras = codBarras;
    }

    /**
     * @return the vCusto
     */
    public String getvCusto() {
        return vCusto;
    }

    /**
     * @param vCusto the vCusto to set
     */
    public void setvCusto(String vCusto) {
        this.vCusto = vCusto;
    }

    /**
     * @return the movel
     */
    public String getMovel() {
        return movel;
    }

    /**
     * @param movel the movel to set
     */
    public void setMovel(String movel) {
        this.movel = movel;
    }

    /**
     * @return the prateleira
     */
    public String getPrateleira() {
        return prateleira;
    }

    /**
     * @param prateleira the prateleira to set
     */
    public void setPrateleira(String prateleira) {
        this.prateleira = prateleira;
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 23 * hash + this.codigo;
        hash = 23 * hash + Objects.hashCode(this.produto);
        hash = 23 * hash + Objects.hashCode(this.tipoUnd);
        hash = 23 * hash + Objects.hashCode(this.grupo);
        hash = 23 * hash + Objects.hashCode(this.marca);
        hash = 23 * hash + Objects.hashCode(this.vencimento);
        hash = 23 * hash + Objects.hashCode(this.lote);
        hash = 23 * hash + this.qtdEstoqueatual;
        hash = 23 * hash + Objects.hashCode(this.estMinimo);
        hash = 23 * hash + Objects.hashCode(this.codBarras);
        hash = 23 * hash + Objects.hashCode(this.vCusto);
        hash = 23 * hash + Objects.hashCode(this.movel);
        hash = 23 * hash + Objects.hashCode(this.prateleira);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Produtos other = (Produtos) obj;
        if (this.codigo != other.codigo) {
            return false;
        }
        if (!Objects.equals(this.produto, other.produto)) {
            return false;
        }
        if (!Objects.equals(this.tipoUnd, other.tipoUnd)) {
            return false;
        }
        if (!Objects.equals(this.grupo, other.grupo)) {
            return false;
        }
        if (!Objects.equals(this.marca, other.marca)) {
            return false;
        }
        if (!Objects.equals(this.vencimento, other.vencimento)) {
            return false;
        }
        if (!Objects.equals(this.lote, other.lote)) {
            return false;
        }
        if (this.qtdEstoqueatual != other.qtdEstoqueatual) {
            return false;
        }
        if (!Objects.equals(this.estMinimo, other.estMinimo)) {
            return false;
        }
        if (!Objects.equals(this.codBarras, other.codBarras)) {
            return false;
        }
        if (!Objects.equals(this.vCusto, other.vCusto)) {
            return false;
        }
        if (!Objects.equals(this.movel, other.movel)) {
            return false;
        }
        if (!Objects.equals(this.prateleira, other.prateleira)) {
            return false;
        }
        return true;
    }

}
